Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Submission: Threema Web #2226

Open
wants to merge 27 commits into
base: master
Choose a base branch
from
Open

Conversation

dennysubke
Copy link
Contributor

App Submission

Threema Web

...

Icon

logo

...

Gallery images

a

b

c

...

I have tested my app on:

  • umbrelOS on a Raspberry Pi
  • umbrelOS on an Umbrel Home
  • umbrelOS on Linux VM

@dennysubke
Copy link
Contributor Author

Threema is a privacy-focused messaging app that is end-to-end encrypted and widely used in German-speaking countries (Germany, Austria, and Switzerland). While its popularity is mainly limited to these regions, it remains a strong alternative to mainstream messengers.

I understand that Threema might not be relevant for all Umbrel users worldwide. If this PR is not a good fit for the Umbrel App Store, that's totally fine. I just wanted to contribute and see if there’s interest in adding it.

Copy link
Contributor

@al-lac al-lac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @dennysubke,

Thanks for another nice submission!

Only have some things to add. For me the app is not working when it is not running as root.


web:
image: dennysubke/threema-web:v2.6.1@sha256:963e3bf1268213308e5a1856a71306a9600a9f61faa04a4cbae2055be0318f8d
user: "1000:1000"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dennysubke the app does not seem to work when it is not running as root:

threema_web_1        | /usr/local/bin/entrypoint.sh: line 32: userconfig.overrides.js: Permission denied
threema_web_1        | Patching userconfig file...

@dennysubke
Copy link
Contributor Author

dennysubke commented Feb 20, 2025

Hey @dennysubke,

Thanks for another nice submission!

Only have some things to add. For me the app is not working when it is not running as root.

Hey @al-lac Thanks for the suggestion. I didn't notice it since I set the permissions after the PR. Everything worked fine on my end.

Threema has only provided an AMD image so far, so I had to build a multi-arch image.

I hope the line in the Dockerfile RUN chown -R 1000:1000 /usr/share/nginx/html /usr/local/bin/entrypoint.sh sets the correct permissions for the copied files, ensuring the container can access them properly. I’ve adjusted the image accordingly and will push an update.

Or do you have an idea how I can adapt the Dockerfile?

@al-lac
Copy link
Contributor

al-lac commented Feb 21, 2025

Hey @dennysubke, yeah give it a try to change the permissions and see if that works out.

Copy link

⚠️   Linting finished with 1 warning   ⚠️

Thank you for your submission! This is an automated linter that checks for common issues in pull requests to the Umbrel App Store.

Please review the linting results below and make any necessary changes to your submission.

Linting Results

Severity File Description
ℹ️ threema/docker-compose.yml Potentially using unsafe user in service "web":
The default container user "root" can lead to security vulnerabilities. If you are using the root user, please try to specify a different user (e.g. "1000:1000") in the compose file or try to set the UID/PUID and GID/PGID environment variables to 1000.
⚠️ threema/umbrel-app.yml "icon" and "gallery" needs to be empty for new app submissions:
The "icon" and "gallery" fields must be empty for new app submissions as it is being created by the Umbrel team.

Legend

Symbol Description
Error: This must be resolved before this PR can be merged.
⚠️ Warning: This is highly encouraged to be resolved, but is not strictly mandatory.
ℹ️ Info: This is just for your information.

@dennysubke
Copy link
Contributor Author

Hey @dennysubke, yeah give it a try to change the permissions and see if that works out.

@al-lac

I have now created the image several times with all possible “permission variables”. No chance. Always the same error message as soon as I set user: 1000:1000.

I also watched the documentary from Threema: https://github.com/threema-ch/threema-web/blob/master/docs/docker.md

Unfortunately I can't figure it out. It can't be my image either, as the original Threema image has exactly the same problem.

What next? Should I close the PR?

@al-lac
Copy link
Contributor

al-lac commented Feb 21, 2025

I would say we wait for what @nmfretz has to say about it.

It running as root is not a deal breaker from my point of view. But lets see.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants